home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / gui / GadEd20Demo.lha / C / Unbekannt.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-12  |  32.5 KB  |  1,177 lines

  1. /* Main File Unbekannt*/
  2.  
  3. /* Erstellt mit GadEd V2.0 */
  4. /* Geschrieben von Michael Neumann und Thomas Patschinski */
  5.  
  6. #include <intuition/intuition.h>
  7. #include <intuition/screens.h>
  8. #include <intuition/gadgetclass.h>
  9. #include <exec/lists.h>
  10. #include <exec/memory.h>
  11. #include <exec/nodes.h>
  12. #include <graphics/rastport.h>
  13. #include <graphics/text.h>
  14. #include <libraries/gadtools.h>
  15. #include <utility/tagitem.h>
  16. #include <string.h>
  17. #include <proto/exec.h>
  18. #include <proto/intuition.h>
  19. #include <proto/gadtools.h>
  20. #include <proto/utility.h>
  21. #include <proto/graphics.h>
  22. #include <proto/diskfont.h>
  23.  
  24. #define waNewLookMenu    TAG_USER+0x30+99
  25. #define gtNewLookMenu    TAG_USER+0x80000+67
  26. #define tagCheckScaled   TAG_USER+0x80000+68
  27. #define tagMxScaled      TAG_USER+0x80000+69
  28. #define tagNumColors     TAG_USER+0x80000+70
  29. #define tagTitlePlace    TAG_USER+0x80000+71
  30. #define tagFrontPen      TAG_USER+0x80000+72
  31. #define tagBackPen       TAG_USER+0x80000+73
  32. #define tagJustification TAG_USER+0x80000+74
  33. #define tagFormat        TAG_USER+0x80000+75
  34. #define tagMaxNumberLen  TAG_USER+0x80000+76
  35. #define tagFrameType     TAG_USER+0x80000+77
  36. #define tagMaxPixelLen   TAG_USER+0x80000+80
  37. #define tagClipped       TAG_USER+0x80000+85
  38.  
  39. struct List              Liste[2];
  40. struct List              ListViewList00[2];
  41. struct Menu             *Men;
  42. struct Menu             *Menu00;
  43. static struct Gadget    *gad, *congad[2];
  44. static struct Window    *W[2];
  45. static struct Screen    *Screen;
  46. static struct TextFont  *SFont;
  47. static struct TextFont  *WFont[2];
  48. struct Gadget           *G0[28];
  49. struct Gadget           *GPtrs00[28];
  50. static BOOL              OwnScreen;
  51. static void             *Vi;
  52. static WORD              Pens=-1;
  53. static int               OffsetY;
  54. static int               FontXSize, FontYSize;
  55. static int               WinLeft, WinTop, WinWidth, WinHeight;
  56. static int               TagCount;
  57.  
  58. static struct TextAttr SAttr = {(STRPTR)"topaz-classic.font",8,FS_NORMAL,0};
  59.  
  60. static Tag STags[] = {
  61.  SA_Top,0,
  62.  SA_Pens,(ULONG)&Pens,
  63.  SA_Width,724,
  64.  SA_Height,564,
  65.  SA_Depth,2,
  66.  SA_DisplayID,0x00029004,
  67.  SA_Title,(ULONG)"Gadget Test Screen",
  68.  SA_Font,(ULONG)&SAttr,
  69.  SA_FullPalette,TRUE,
  70.  SA_ShowTitle,TRUE,
  71.  SA_Overscan,OSCAN_TEXT, TAG_DONE,NULL};
  72.  
  73. /* Definitionen für Fenster Proc00 */
  74.  
  75. static struct NewGadget NewG0[] = {
  76.  115,71,67,12,(UBYTE *)"Tel_. Nummer:",&SAttr,0,PLACETEXT_LEFT,NULL,NULL,
  77.  115,83,67,12,(UBYTE *)"_Haus Nummer:",&SAttr,1,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  78.  115,212,234,12,(UBYTE *)"Copyright b_y",&SAttr,2,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  79.  115,224,234,12,(UBYTE *)"Copyright b_y",&SAttr,3,PLACETEXT_LEFT,NULL,NULL,
  80.  15,18,92,21,(UBYTE *)"Button",&SAttr,4,PLACETEXT_IN,NULL,(APTR)1,
  81.  15,39,92,21,(UBYTE *)"_Ok",&SAttr,5,PLACETEXT_IN,NULL,NULL,
  82.  107,18,92,21,(UBYTE *)"_Under",&SAttr,6,PLACETEXT_IN,NULL,(APTR)2,
  83.  107,39,92,21,(UBYTE *)"Special !",&SAttr,7,PLACETEXT_IN,NULL,NULL,
  84.  217,17,26,11,(UBYTE *)"Checkbo_x",&SAttr,8,PLACETEXT_RIGHT|NG_HIGHLABEL,NULL,NULL,
  85.  217,28,26,11,(UBYTE *)"_Gfx",&SAttr,9,PLACETEXT_RIGHT,NULL,NULL,
  86.  217,39,26,11,(UBYTE *)"Text _Modus",&SAttr,10,PLACETEXT_RIGHT,NULL,NULL,
  87.  217,50,26,11,(UBYTE *)"Nicht umschalten",&SAttr,11,PLACETEXT_RIGHT,NULL,NULL,
  88.  393,30,227,49,(UBYTE *)"Info Box",&SAttr,12,PLACETEXT_ABOVE|NG_HIGHLABEL,NULL,NULL,
  89.  393,90,227,71,(UBYTE *)"Screen Mode:",&SAttr,13,PLACETEXT_ABOVE,NULL,NULL,
  90.  248,72,16,8,(UBYTE *)"3.x",&SAttr,14,PLACETEXT_RIGHT|NG_HIGHLABEL,NULL,NULL,
  91.  230,72,16,8,(UBYTE *)"",&SAttr,15,PLACETEXT_LEFT,NULL,NULL,
  92.  89,104,87,10,(UBYTE *)"Fast Ram",&SAttr,16,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  93.  89,114,87,10,(UBYTE *)"Chip Ram",&SAttr,17,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  94.  61,135,122,12,(UBYTE *)"Mo_dus",&SAttr,18,PLACETEXT_LEFT,NULL,NULL,
  95.  61,147,122,12,(UBYTE *)"Mo_dus",&SAttr,19,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  96.  83,167,160,19,(UBYTE *)"Farb_wahl",&SAttr,20,PLACETEXT_LEFT,NULL,NULL,
  97.  83,186,160,19,(UBYTE *)"Farb_wahl",&SAttr,21,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  98.  332,72,24,73,(UBYTE *)"Q",&SAttr,22,PLACETEXT_BELOW|NG_HIGHLABEL,NULL,NULL,
  99.  356,72,24,73,(UBYTE *)"Q",&SAttr,23,PLACETEXT_BELOW,NULL,NULL,
  100.  311,170,281,17,(UBYTE *)"Anfang",&SAttr,24,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  101.  311,187,281,17,(UBYTE *)"Ende",&SAttr,25,PLACETEXT_LEFT,NULL,NULL,
  102.  441,213,184,11,(UBYTE *)"Fix Text",&SAttr,26,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  103.  441,224,184,11,(UBYTE *)"Fix Text",&SAttr,27,PLACETEXT_LEFT,NULL,NULL
  104. };
  105.  
  106. static ULONG Kinds0[] = {
  107.  INTEGER_KIND,
  108.  INTEGER_KIND,
  109.  STRING_KIND,
  110.  STRING_KIND,
  111.  BUTTON_KIND,
  112.  BUTTON_KIND,
  113.  BUTTON_KIND,
  114.  BUTTON_KIND,
  115.  CHECKBOX_KIND,
  116.  CHECKBOX_KIND,
  117.  CHECKBOX_KIND,
  118.  CHECKBOX_KIND,
  119.  LISTVIEW_KIND,
  120.  LISTVIEW_KIND,
  121.  MX_KIND,
  122.  MX_KIND,
  123.  NUMBER_KIND,
  124.  NUMBER_KIND,
  125.  CYCLE_KIND,
  126.  CYCLE_KIND,
  127.  PALETTE_KIND,
  128.  PALETTE_KIND,
  129.  SCROLLER_KIND,
  130.  SCROLLER_KIND,
  131.  SLIDER_KIND,
  132.  SLIDER_KIND,
  133.  TEXT_KIND,
  134.  TEXT_KIND
  135. };
  136.  
  137. static char *MxText0_0[] = {
  138.  (UBYTE *)"_Domino",
  139.  (UBYTE *)"_Pal",
  140.  (UBYTE *)"_Ntsc",
  141.  (UBYTE *)"N_ichts",
  142.  NULL
  143. };
  144.  
  145. static char *MxText0_1[] = {
  146.  (UBYTE *)"1",
  147.  (UBYTE *)"2",
  148.  (UBYTE *)"4",
  149.  (UBYTE *)"8",
  150.  (UBYTE *)"16",
  151.  (UBYTE *)"32",
  152.  (UBYTE *)"64",
  153.  (UBYTE *)"128",
  154.  (UBYTE *)"256",
  155.  NULL
  156. };
  157.  
  158. static char *CycleText0_0[] = {
  159.  (UBYTE *)"Pause",
  160.  (UBYTE *)"Step",
  161.  (UBYTE *)"Run",
  162.  NULL
  163. };
  164.  
  165. static char *CycleText0_1[] = {
  166.  (UBYTE *)"Pause",
  167.  (UBYTE *)"Step",
  168.  (UBYTE *)"Run",
  169.  NULL
  170. };
  171.  
  172. static Tag Tags0[] = {
  173.  GT_Underscore,'_',
  174.  GTIN_Number,4711,
  175.  STRINGA_ReplaceMode,TRUE,
  176.  STRINGA_ExitHelp,TRUE,
  177.  GA_Immediate,TRUE,
  178.  TAG_DONE,
  179.  GT_Underscore,'_',
  180.  GTIN_Number,1,
  181.  GTIN_MaxChars,7,
  182.  STRINGA_Justification,GACT_STRINGCENTER,
  183.  GA_TabCycle,FALSE,
  184.  TAG_DONE,
  185.  GT_Underscore,'_',
  186.  GTST_String,(ULONG)"Thomas Patschinski",
  187.  STRINGA_ReplaceMode,TRUE,
  188.  STRINGA_Justification,GACT_STRINGCENTER,
  189.  GTST_MaxChars,79,
  190.  GA_Immediate,TRUE,
  191.  GA_TabCycle,FALSE,
  192.  STRINGA_ExitHelp,TRUE,
  193.  TAG_DONE,
  194.  GT_Underscore,'_',
  195.  GTST_String,(ULONG)"Michael Neumann",
  196.  GTST_MaxChars,255,
  197.  GA_TabCycle,FALSE,
  198.  STRINGA_ExitHelp,TRUE,
  199.  TAG_DONE,
  200.  GA_Immediate,TRUE,
  201.  TAG_DONE,
  202.  GT_Underscore,'_',
  203.  TAG_DONE,
  204.  GT_Underscore,'_',
  205.  TAG_DONE,
  206.  GA_Disabled,TRUE,
  207.  TAG_DONE,
  208.  GT_Underscore,'_',
  209.  GTCB_Checked,TRUE,
  210.  tagCheckScaled,TRUE,
  211.  TAG_DONE,
  212.  GT_Underscore,'_',
  213.  TAG_DONE,
  214.  GT_Underscore,'_',
  215.  GTCB_Checked,TRUE,
  216.  TAG_DONE,
  217.  GA_Disabled,TRUE,
  218.  TAG_DONE,
  219.  GTLV_ReadOnly,TRUE,
  220.  GTLV_Labels,(ULONG)&Liste[0],
  221.  LAYOUTA_Spacing,2,
  222.  TAG_DONE,
  223.  GTLV_ScrollWidth,24,
  224.  GTLV_ShowSelected,NULL,
  225.  GTLV_Labels,(ULONG)&Liste[1],
  226.  TAG_DONE,
  227.  GT_Underscore,'_',
  228.  GTMX_Spacing,2,
  229.  GTMX_Labels,(ULONG)&MxText0_0,
  230.  GA_Disabled,TRUE,
  231.  tagTitlePlace,PLACETEXT_BELOW,
  232.  TAG_DONE,
  233.  GTMX_Spacing,2,
  234.  GTMX_Labels,(ULONG)&MxText0_1,
  235.  tagMxScaled,TRUE,
  236.  TAG_DONE,
  237.  GTNM_Border,TRUE,
  238.  GTNM_Number,11893096,
  239.  tagClipped,FALSE,
  240.  TAG_DONE,
  241.  GTNM_Border,TRUE,
  242.  GTNM_Number,1904760,
  243.  tagFrontPen,2,
  244.  tagJustification,2, tagMaxNumberLen,9,
  245.  TAG_DONE,
  246.  GT_Underscore,'_',
  247.  GTCY_Labels,(ULONG)&CycleText0_0,
  248.  TAG_DONE,
  249.  GT_Underscore,'_',
  250.  GA_Disabled,TRUE,
  251.  GTCY_Labels,(ULONG)&CycleText0_1,
  252.  TAG_DONE,
  253.  GT_Underscore,'_',
  254.  GA_Disabled,TRUE,
  255.  GTPA_Depth,2,
  256.  GTPA_IndicatorHeight,0,
  257.  GTPA_IndicatorWidth,0,
  258.  TAG_DONE,
  259.  GT_Underscore,'_',
  260.  GTPA_Depth,2,
  261.  GTPA_IndicatorHeight,0,
  262.  GTPA_IndicatorWidth,0,
  263.  TAG_DONE,
  264.  GA_Disabled,TRUE,
  265.  GTSC_Total,10,
  266.  GTSC_Visible,3,
  267.  GTSC_Arrows,16,
  268.  PGA_Freedom,2,
  269.  GA_RelVerify,TRUE,
  270.  GA_Immediate,TRUE,
  271.  TAG_DONE,
  272.  GTSC_Top,9,
  273.  GTSC_Total,11,
  274.  GTSC_Arrows,16,
  275.  PGA_Freedom,2,
  276.  TAG_DONE,
  277.  GTSL_Level,3,
  278.  GTSL_MaxLevelLen,4,
  279.  GTSL_LevelFormat,(ULONG)"%ld ",
  280.  GTSL_LevelPlace,PLACETEXT_RIGHT,
  281.  tagMaxPixelLen,5,
  282.  tagJustification,1,
  283.  TAG_DONE,
  284.  GA_Disabled,TRUE,
  285.  GTSL_Level,15,
  286.  GTSL_MaxLevelLen,3,
  287.  GTSL_LevelFormat,(ULONG)"%ld ",
  288.  GTSL_LevelPlace,PLACETEXT_RIGHT,
  289.  tagJustification,2,
  290.  TAG_DONE,
  291.  GTTX_Border,TRUE,
  292.  GTTX_Text,(ULONG)"GadEd Version 1.10",
  293.  GTTX_CopyText,TRUE,
  294.  tagFrontPen,2,
  295.  tagBackPen,1,
  296.  TAG_DONE,
  297.  GTTX_Border,TRUE,
  298.  GTTX_Text,(ULONG)"<Empty>",
  299.  tagJustification,2, tagClipped,FALSE,
  300.  TAG_DONE
  301. };
  302.  
  303. static struct IntuiText IText0[] = {
  304.  3,2,JAM2,267,126,&SAttr,(UBYTE *)"Das ist",NULL,
  305.  1,0,JAM2|INVERSVID,283,144,&SAttr,(UBYTE *)"Intui",NULL,
  306.  1,3,JAM2,291,153,&SAttr,(UBYTE *)"Text",NULL,
  307.  1,2,JAM2,299,135,&SAttr,(UBYTE *)"ein",NULL
  308. };
  309.  
  310. static struct NewMenu newM0[] = {
  311.  NM_TITLE,(UBYTE *)"Projekt",NULL,0,0,NULL,
  312.  NM_ITEM,(UBYTE *)"About",(UBYTE *)"A",0,0,NULL,
  313.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  314.  NM_ITEM,(UBYTE *)"Load",(UBYTE *)"L",0,0,NULL,
  315.  NM_ITEM,(UBYTE *)"Save",(UBYTE *)"S",0,0,NULL,
  316.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  317.  NM_ITEM,(UBYTE *)"Quit",(UBYTE *)"Q",0,0,NULL,
  318.  NM_TITLE,(UBYTE *)"Buffer",NULL,0,0,NULL,
  319.  NM_ITEM,(UBYTE *)"Cut",(UBYTE *)"C",0,0,NULL,
  320.  NM_ITEM,(UBYTE *)"Paste",(UBYTE *)"P",0,0,NULL,
  321.  NM_ITEM,(UBYTE *)"Copy",(UBYTE *)"O",0,0,NULL,
  322.  NM_TITLE,(UBYTE *)"Settings",NULL,0,0,NULL,
  323.  NM_ITEM,(UBYTE *)"Special",NULL,0,0,NULL,
  324.  NM_SUB,(UBYTE *)"Betatester Info",NULL,MENUTOGGLE|CHECKIT|ITEMENABLED,0,NULL,
  325.  NM_SUB,NM_BARLABEL,NULL,0,0,NULL,
  326.  NM_SUB,(UBYTE *)"Extendet Features",NULL,MENUTOGGLE|CHECKIT,0,NULL,
  327.  NM_ITEM,(UBYTE *)"Save Icons",NULL,MENUTOGGLE|CHECKIT|CHECKED,0,NULL,
  328.  NM_ITEM,(UBYTE *)"Use ENV:",NULL,MENUTOGGLE|CHECKIT|CHECKED,0,NULL,
  329.  NM_ITEM,(UBYTE *)"Fast Ram",NULL,MENUTOGGLE|CHECKIT,0,NULL,
  330.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  331.  NM_ITEM,(UBYTE *)"Asl Requster",NULL,CHECKIT|CHECKED,0,NULL,
  332.  NM_ITEM,(UBYTE *)"OS 3.x",NULL,CHECKIT,0,NULL,
  333.  NM_TITLE,(UBYTE *)"Extendet Menu",NULL,NM_MENUDISABLED,0,NULL,
  334.  NM_ITEM,(UBYTE *)"New 1",NULL,0,0,NULL,
  335.  NM_ITEM,(UBYTE *)"New 2",NULL,0,0,NULL,
  336.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  337.  NM_ITEM,(UBYTE *)"New 3",NULL,0,0,NULL,
  338.  NM_SUB,(UBYTE *)"New 3_1",NULL,0,0,NULL,
  339.  NM_SUB,(UBYTE *)"New 3_2",NULL,0,0,NULL,
  340.  NM_END,NULL,NULL,0,0,NULL};
  341.  
  342. static WORD Bevel0[] = {
  343.  7,101,179,27,
  344.  329,68,55,95,
  345.  7,68,179,30,
  346.  7,132,179,31,
  347.  364,210,264,29,
  348.  213,13,171,53,
  349.  7,210,345,29,
  350.  7,165,240,43,
  351.  7,13,203,53,
  352.  188,68,139,95,
  353.  250,165,378,43,
  354.  387,13,241,150
  355. };
  356.  
  357. static Tag BevelTags0[] = {
  358.  GT_VisualInfo,NULL,
  359.  TAG_DONE,
  360.  GT_VisualInfo,NULL,
  361.  TAG_DONE,
  362.  GT_VisualInfo,NULL,
  363.  TAG_DONE,
  364.  GT_VisualInfo,NULL,
  365.  TAG_DONE,
  366.  GT_VisualInfo,NULL,
  367.  TAG_DONE,
  368.  GT_VisualInfo,NULL,
  369.  TAG_DONE,
  370.  GT_VisualInfo,NULL,
  371.  TAG_DONE,
  372.  GT_VisualInfo,NULL,
  373.  TAG_DONE,
  374.  GT_VisualInfo,NULL,
  375.  TAG_DONE,
  376.  GT_VisualInfo,NULL,
  377.  TAG_DONE,
  378.  GT_VisualInfo,NULL,
  379.  TAG_DONE,
  380.  GT_VisualInfo,NULL,
  381.  TAG_DONE
  382. };
  383.  
  384. static Tag WTags0[] = {
  385.  WA_CustomScreen,NULL,
  386.  WA_Gadgets,NULL,
  387.  WA_Left,0,
  388.  WA_Top,0,
  389.  WA_Width,0,
  390.  WA_Height,0,
  391.  WA_MinWidth,633,
  392.  WA_MinHeight,243,
  393.  WA_MaxWidth,633,
  394.  WA_MaxHeight,243,
  395.  WA_Title,(ULONG)"Gadget Test Fenster1",
  396.  WA_IDCMP,BUTTONIDCMP|CHECKBOXIDCMP|INTEGERIDCMP|LISTVIEWIDCMP|MXIDCMP|NUMBERIDCMP|CYCLEIDCMP|PALETTEIDCMP|SCROLLERIDCMP|SLIDERIDCMP|STRINGIDCMP|TEXTIDCMP|IDCMP_NEWSIZE|IDCMP_CLOSEWINDOW,
  397.  WA_Flags,WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_ACTIVATE,
  398.  waNewLookMenu,TRUE,
  399.  TAG_DONE,NULL};
  400.  
  401. /* Definitionen für Fenster Proc01 */
  402.  
  403. static struct NewGadget NewG1[] = {
  404.  115,71,67,12,(UBYTE *)"Tel_. Nummer:",&SAttr,0,PLACETEXT_LEFT,NULL,NULL,
  405.  115,83,67,12,(UBYTE *)"_Haus Nummer:",&SAttr,1,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  406.  115,212,234,12,(UBYTE *)"Copyright b_y",&SAttr,2,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  407.  115,224,234,12,(UBYTE *)"Copyright b_y",&SAttr,3,PLACETEXT_LEFT,NULL,NULL,
  408.  15,18,92,21,(UBYTE *)"Button",&SAttr,4,PLACETEXT_IN,NULL,(APTR)1,
  409.  15,39,92,21,(UBYTE *)"_Ok",&SAttr,5,PLACETEXT_IN,NULL,NULL,
  410.  107,18,92,21,(UBYTE *)"_Under",&SAttr,6,PLACETEXT_IN,NULL,(APTR)2,
  411.  107,39,92,21,(UBYTE *)"Special !",&SAttr,7,PLACETEXT_IN,NULL,NULL,
  412.  217,17,26,11,(UBYTE *)"Checkbo_x",&SAttr,8,PLACETEXT_RIGHT|NG_HIGHLABEL,NULL,NULL,
  413.  217,28,26,11,(UBYTE *)"_Gfx",&SAttr,9,PLACETEXT_RIGHT,NULL,NULL,
  414.  217,39,26,11,(UBYTE *)"Text _Modus",&SAttr,10,PLACETEXT_RIGHT,NULL,NULL,
  415.  217,50,26,11,(UBYTE *)"Nicht umschalten",&SAttr,11,PLACETEXT_RIGHT,NULL,NULL,
  416.  393,30,227,49,(UBYTE *)"Info Box",&SAttr,12,PLACETEXT_ABOVE|NG_HIGHLABEL,NULL,NULL,
  417.  393,90,227,71,(UBYTE *)"Screen Mode:",&SAttr,13,PLACETEXT_ABOVE,NULL,NULL,
  418.  248,72,16,8,(UBYTE *)"3.x",&SAttr,14,PLACETEXT_RIGHT|NG_HIGHLABEL,NULL,NULL,
  419.  230,72,16,8,(UBYTE *)"",&SAttr,15,PLACETEXT_LEFT,NULL,NULL,
  420.  89,104,87,10,(UBYTE *)"Fast Ram",&SAttr,16,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  421.  89,114,87,10,(UBYTE *)"Chip Ram",&SAttr,17,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  422.  61,135,122,12,(UBYTE *)"Mo_dus",&SAttr,18,PLACETEXT_LEFT,NULL,NULL,
  423.  61,147,122,12,(UBYTE *)"Mo_dus",&SAttr,19,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  424.  83,167,160,19,(UBYTE *)"Farb_wahl",&SAttr,20,PLACETEXT_LEFT,NULL,NULL,
  425.  83,186,160,19,(UBYTE *)"Farb_wahl",&SAttr,21,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  426.  332,72,24,73,(UBYTE *)"Q",&SAttr,22,PLACETEXT_BELOW|NG_HIGHLABEL,NULL,NULL,
  427.  356,72,24,73,(UBYTE *)"Q",&SAttr,23,PLACETEXT_BELOW,NULL,NULL,
  428.  311,170,281,17,(UBYTE *)"Anfang",&SAttr,24,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  429.  311,187,281,17,(UBYTE *)"Ende",&SAttr,25,PLACETEXT_LEFT,NULL,NULL,
  430.  441,213,184,11,(UBYTE *)"Fix Text",&SAttr,26,PLACETEXT_LEFT|NG_HIGHLABEL,NULL,NULL,
  431.  441,224,184,11,(UBYTE *)"Fix Text",&SAttr,27,PLACETEXT_LEFT,NULL,NULL
  432. };
  433.  
  434. static ULONG Kinds1[] = {
  435.  INTEGER_KIND,
  436.  INTEGER_KIND,
  437.  STRING_KIND,
  438.  STRING_KIND,
  439.  BUTTON_KIND,
  440.  BUTTON_KIND,
  441.  BUTTON_KIND,
  442.  BUTTON_KIND,
  443.  CHECKBOX_KIND,
  444.  CHECKBOX_KIND,
  445.  CHECKBOX_KIND,
  446.  CHECKBOX_KIND,
  447.  LISTVIEW_KIND,
  448.  LISTVIEW_KIND,
  449.  MX_KIND,
  450.  MX_KIND,
  451.  NUMBER_KIND,
  452.  NUMBER_KIND,
  453.  CYCLE_KIND,
  454.  CYCLE_KIND,
  455.  PALETTE_KIND,
  456.  PALETTE_KIND,
  457.  SCROLLER_KIND,
  458.  SCROLLER_KIND,
  459.  SLIDER_KIND,
  460.  SLIDER_KIND,
  461.  TEXT_KIND,
  462.  TEXT_KIND
  463. };
  464.  
  465. static char *MxText1_0[] = {
  466.  (UBYTE *)"_Domino",
  467.  (UBYTE *)"_Pal",
  468.  (UBYTE *)"_Ntsc",
  469.  (UBYTE *)"N_ichts",
  470.  NULL
  471. };
  472.  
  473. static char *MxText1_1[] = {
  474.  (UBYTE *)"1",
  475.  (UBYTE *)"2",
  476.  (UBYTE *)"4",
  477.  (UBYTE *)"8",
  478.  (UBYTE *)"16",
  479.  (UBYTE *)"32",
  480.  (UBYTE *)"64",
  481.  (UBYTE *)"128",
  482.  (UBYTE *)"256",
  483.  NULL
  484. };
  485.  
  486. static char *CycleText1_0[] = {
  487.  (UBYTE *)"Pause",
  488.  (UBYTE *)"Step",
  489.  (UBYTE *)"Run",
  490.  NULL
  491. };
  492.  
  493. static char *CycleText1_1[] = {
  494.  (UBYTE *)"Pause",
  495.  (UBYTE *)"Step",
  496.  (UBYTE *)"Run",
  497.  NULL
  498. };
  499.  
  500. static Tag Tags1[] = {
  501.  GT_Underscore,'_',
  502.  GTIN_Number,4711,
  503.  STRINGA_ReplaceMode,TRUE,
  504.  STRINGA_ExitHelp,TRUE,
  505.  GA_Immediate,TRUE,
  506.  TAG_DONE,
  507.  GT_Underscore,'_',
  508.  GTIN_Number,1,
  509.  GTIN_MaxChars,7,
  510.  STRINGA_Justification,GACT_STRINGCENTER,
  511.  GA_TabCycle,FALSE,
  512.  TAG_DONE,
  513.  GT_Underscore,'_',
  514.  GTST_String,(ULONG)"Thomas Patschinski",
  515.  STRINGA_ReplaceMode,TRUE,
  516.  STRINGA_Justification,GACT_STRINGCENTER,
  517.  GTST_MaxChars,79,
  518.  GA_Immediate,TRUE,
  519.  GA_TabCycle,FALSE,
  520.  STRINGA_ExitHelp,TRUE,
  521.  TAG_DONE,
  522.  GT_Underscore,'_',
  523.  GTST_String,(ULONG)"Michael Neumann",
  524.  GTST_MaxChars,255,
  525.  GA_TabCycle,FALSE,
  526.  STRINGA_ExitHelp,TRUE,
  527.  TAG_DONE,
  528.  GA_Immediate,TRUE,
  529.  TAG_DONE,
  530.  GT_Underscore,'_',
  531.  TAG_DONE,
  532.  GT_Underscore,'_',
  533.  TAG_DONE,
  534.  GA_Disabled,TRUE,
  535.  TAG_DONE,
  536.  GT_Underscore,'_',
  537.  GTCB_Checked,TRUE,
  538.  tagCheckScaled,TRUE,
  539.  TAG_DONE,
  540.  GT_Underscore,'_',
  541.  TAG_DONE,
  542.  GT_Underscore,'_',
  543.  GTCB_Checked,TRUE,
  544.  TAG_DONE,
  545.  GA_Disabled,TRUE,
  546.  TAG_DONE,
  547.  GTLV_ReadOnly,TRUE,
  548.  GTLV_Labels,(ULONG)&ListViewList00[0],
  549.  LAYOUTA_Spacing,2,
  550.  TAG_DONE,
  551.  GTLV_ScrollWidth,24,
  552.  GTLV_ShowSelected,NULL,
  553.  GTLV_Labels,(ULONG)&ListViewList00[1],
  554.  TAG_DONE,
  555.  GT_Underscore,'_',
  556.  GTMX_Spacing,2,
  557.  GTMX_Labels,(ULONG)&MxText1_0,
  558.  GA_Disabled,TRUE,
  559.  tagTitlePlace,PLACETEXT_BELOW,
  560.  TAG_DONE,
  561.  GTMX_Spacing,2,
  562.  GTMX_Labels,(ULONG)&MxText1_1,
  563.  tagMxScaled,TRUE,
  564.  TAG_DONE,
  565.  GTNM_Border,TRUE,
  566.  GTNM_Number,11893096,
  567.  tagClipped,FALSE,
  568.  TAG_DONE,
  569.  GTNM_Border,TRUE,
  570.  GTNM_Number,1904760,
  571.  tagFrontPen,2,
  572.  tagJustification,2, tagMaxNumberLen,9,
  573.  TAG_DONE,
  574.  GT_Underscore,'_',
  575.  GTCY_Labels,(ULONG)&CycleText1_0,
  576.  TAG_DONE,
  577.  GT_Underscore,'_',
  578.  GA_Disabled,TRUE,
  579.  GTCY_Labels,(ULONG)&CycleText1_1,
  580.  TAG_DONE,
  581.  GT_Underscore,'_',
  582.  GA_Disabled,TRUE,
  583.  GTPA_Depth,2,
  584.  GTPA_IndicatorHeight,0,
  585.  GTPA_IndicatorWidth,0,
  586.  TAG_DONE,
  587.  GT_Underscore,'_',
  588.  GTPA_Depth,2,
  589.  GTPA_IndicatorHeight,0,
  590.  GTPA_IndicatorWidth,0,
  591.  TAG_DONE,
  592.  GA_Disabled,TRUE,
  593.  GTSC_Total,10,
  594.  GTSC_Visible,3,
  595.  GTSC_Arrows,16,
  596.  PGA_Freedom,2,
  597.  GA_RelVerify,TRUE,
  598.  GA_Immediate,TRUE,
  599.  TAG_DONE,
  600.  GTSC_Top,9,
  601.  GTSC_Total,11,
  602.  GTSC_Arrows,16,
  603.  PGA_Freedom,2,
  604.  TAG_DONE,
  605.  GTSL_Level,3,
  606.  GTSL_MaxLevelLen,4,
  607.  GTSL_LevelFormat,(ULONG)"%ld ",
  608.  GTSL_LevelPlace,PLACETEXT_RIGHT,
  609.  tagMaxPixelLen,5,
  610.  tagJustification,1,
  611.  TAG_DONE,
  612.  GA_Disabled,TRUE,
  613.  GTSL_Level,15,
  614.  GTSL_MaxLevelLen,3,
  615.  GTSL_LevelFormat,(ULONG)"%ld ",
  616.  GTSL_LevelPlace,PLACETEXT_RIGHT,
  617.  tagJustification,2,
  618.  TAG_DONE,
  619.  GTTX_Border,TRUE,
  620.  GTTX_Text,(ULONG)"GadEd Version 1.10",
  621.  GTTX_CopyText,TRUE,
  622.  tagFrontPen,2,
  623.  tagBackPen,1,
  624.  TAG_DONE,
  625.  GTTX_Border,TRUE,
  626.  GTTX_Text,(ULONG)"<Empty>",
  627.  tagJustification,2, tagClipped,FALSE,
  628.  TAG_DONE
  629. };
  630.  
  631. static struct IntuiText IText1[] = {
  632.  3,2,JAM2,267,126,&SAttr,(UBYTE *)"Das ist",NULL,
  633.  1,0,JAM2|INVERSVID,283,144,&SAttr,(UBYTE *)"Intui",NULL,
  634.  1,3,JAM2,291,153,&SAttr,(UBYTE *)"Text",NULL,
  635.  1,2,JAM2,299,135,&SAttr,(UBYTE *)"ein",NULL
  636. };
  637.  
  638. static struct NewMenu newM1[] = {
  639.  NM_TITLE,(UBYTE *)"Projekt",NULL,0,0,NULL,
  640.  NM_ITEM,(UBYTE *)"About",(UBYTE *)"A",0,0,NULL,
  641.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  642.  NM_ITEM,(UBYTE *)"Load",(UBYTE *)"L",0,0,NULL,
  643.  NM_ITEM,(UBYTE *)"Save",(UBYTE *)"S",0,0,NULL,
  644.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  645.  NM_ITEM,(UBYTE *)"Quit",(UBYTE *)"Q",0,0,NULL,
  646.  NM_TITLE,(UBYTE *)"Buffer",NULL,0,0,NULL,
  647.  NM_ITEM,(UBYTE *)"Cut",(UBYTE *)"C",0,0,NULL,
  648.  NM_ITEM,(UBYTE *)"Paste",(UBYTE *)"P",0,0,NULL,
  649.  NM_ITEM,(UBYTE *)"Copy",(UBYTE *)"O",0,0,NULL,
  650.  NM_TITLE,(UBYTE *)"Settings",NULL,0,0,NULL,
  651.  NM_ITEM,(UBYTE *)"Special",NULL,0,0,NULL,
  652.  NM_SUB,(UBYTE *)"Betatester Info",NULL,MENUTOGGLE|CHECKIT|ITEMENABLED,0,NULL,
  653.  NM_SUB,NM_BARLABEL,NULL,0,0,NULL,
  654.  NM_SUB,(UBYTE *)"Extendet Features",NULL,MENUTOGGLE|CHECKIT,0,NULL,
  655.  NM_ITEM,(UBYTE *)"Save Icons",NULL,MENUTOGGLE|CHECKIT|CHECKED,0,NULL,
  656.  NM_ITEM,(UBYTE *)"Use ENV:",NULL,MENUTOGGLE|CHECKIT|CHECKED,0,NULL,
  657.  NM_ITEM,(UBYTE *)"Fast Ram",NULL,MENUTOGGLE|CHECKIT,0,NULL,
  658.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  659.  NM_ITEM,(UBYTE *)"Asl Requster",NULL,CHECKIT|CHECKED,0,NULL,
  660.  NM_ITEM,(UBYTE *)"OS 3.x",NULL,CHECKIT,0,NULL,
  661.  NM_TITLE,(UBYTE *)"Extendet Menu",NULL,NM_MENUDISABLED,0,NULL,
  662.  NM_ITEM,(UBYTE *)"New 1",NULL,0,0,NULL,
  663.  NM_ITEM,(UBYTE *)"New 2",NULL,0,0,NULL,
  664.  NM_ITEM,NM_BARLABEL,NULL,0,0,NULL,
  665.  NM_ITEM,(UBYTE *)"New 3",NULL,0,0,NULL,
  666.  NM_SUB,(UBYTE *)"New 3_1",NULL,0,0,NULL,
  667.  NM_SUB,(UBYTE *)"New 3_2",NULL,0,0,NULL,
  668.  NM_END,NULL,NULL,0,0,NULL};
  669.  
  670. static WORD Bevel1[] = {
  671.  7,101,179,27,
  672.  329,68,55,95,
  673.  7,68,179,30,
  674.  7,132,179,31,
  675.  364,210,264,29,
  676.  213,13,171,53,
  677.  7,210,345,29,
  678.  7,165,240,43,
  679.  7,13,203,53,
  680.  188,68,139,95,
  681.  250,165,378,43,
  682.  387,13,241,150
  683. };
  684.  
  685. static Tag BevelTags1[] = {
  686.  GT_VisualInfo,NULL,
  687.  TAG_DONE,
  688.  GT_VisualInfo,NULL,
  689.  TAG_DONE,
  690.  GT_VisualInfo,NULL,
  691.  TAG_DONE,
  692.  GT_VisualInfo,NULL,
  693.  TAG_DONE,
  694.  GT_VisualInfo,NULL,
  695.  TAG_DONE,
  696.  GT_VisualInfo,NULL,
  697.  TAG_DONE,
  698.  GT_VisualInfo,NULL,
  699.  TAG_DONE,
  700.  GT_VisualInfo,NULL,
  701.  TAG_DONE,
  702.  GT_VisualInfo,NULL,
  703.  TAG_DONE,
  704.  GT_VisualInfo,NULL,
  705.  TAG_DONE,
  706.  GT_VisualInfo,NULL,
  707.  TAG_DONE,
  708.  GT_VisualInfo,NULL,
  709.  TAG_DONE
  710. };
  711.  
  712. static Tag WTags1[] = {
  713.  WA_CustomScreen,NULL,
  714.  WA_Gadgets,NULL,
  715.  WA_Left,0,
  716.  WA_Top,0,
  717.  WA_Width,0,
  718.  WA_Height,0,
  719.  WA_MinWidth,633,
  720.  WA_MinHeight,243,
  721.  WA_MaxWidth,633,
  722.  WA_MaxHeight,243,
  723.  WA_Title,(ULONG)"Gadget Test Fenster",
  724.  WA_IDCMP,BUTTONIDCMP|CHECKBOXIDCMP|INTEGERIDCMP|LISTVIEWIDCMP|MXIDCMP|NUMBERIDCMP|CYCLEIDCMP|PALETTEIDCMP|SCROLLERIDCMP|SLIDERIDCMP|STRINGIDCMP|TEXTIDCMP|IDCMP_NEWSIZE|IDCMP_CLOSEWINDOW,
  725.  WA_Flags,WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_ACTIVATE,
  726.  waNewLookMenu,TRUE,
  727.  TAG_DONE,NULL};
  728.  
  729. BOOL AddNode(struct List *LVList, char *Strg)
  730. {
  731.    char         *NewStr;
  732.    struct Node  *TempNode;
  733.  
  734.    TempNode=AllocVec(sizeof(struct Node),MEMF_PUBLIC|MEMF_CLEAR);
  735.    if (TempNode==NULL) return (FALSE);
  736.    AddTail(LVList,TempNode);
  737.    NewStr=AllocVec(strlen(Strg)+1,MEMF_PUBLIC|MEMF_CLEAR);
  738.    if (NewStr==NULL) return (FALSE);
  739.    TempNode->ln_Name = NewStr;
  740.    strcpy(NewStr,Strg);
  741.    return (TRUE);
  742. }
  743.  
  744. int CalcXValue(int number)
  745. {
  746.    return ((FontXSize*number+4)/8);
  747. }
  748.  
  749. int CalcYValue(int number)
  750. {
  751.    return ((FontYSize*number+4)/8);
  752. }
  753.  
  754. void CalcFont(int Width,int Height)
  755. {
  756.    OffsetY        = 0;
  757.    FontXSize      = Screen->RastPort.Font->tf_XSize;
  758.    FontYSize      = Screen->RastPort.Font->tf_YSize;
  759.    SAttr.ta_Name  = Screen->RastPort.Font->tf_Message.mn_Node.ln_Name;
  760.    SAttr.ta_YSize = FontYSize;
  761.    if ((Width>0) && (Height>0)) {
  762.       if ((CalcXValue(Width) > Screen->Width) || (CalcYValue(Height) > Screen->Height)) {
  763.          OffsetY        = FontYSize-8;
  764.          SAttr.ta_Name  = (STRPTR)"topaz.font";
  765.          SAttr.ta_YSize = 8;
  766.          FontXSize      = 8;
  767.          FontYSize      = 8;
  768.       }
  769.    }
  770. }
  771.  
  772. int CenterX(int width)
  773. {
  774.    struct Rectangle rect;
  775.    int   l,w;
  776.    ULONG ID;
  777.  
  778.    ID = GetVPModeID(&Screen->ViewPort);
  779.    QueryOverscan(ID,&rect,OSCAN_TEXT);
  780.    l = -Screen->LeftEdge;
  781.    w = rect.MaxX-rect.MinX+1;
  782.    return ((w-width)/2+l);
  783. }
  784.  
  785. int CenterY(int height)
  786. {
  787.    struct Rectangle rect;
  788.    int   t,h;
  789.    ULONG ID;
  790.  
  791.    ID = GetVPModeID(&Screen->ViewPort);
  792.    QueryOverscan(ID,&rect,OSCAN_TEXT);
  793.    t = -Screen->TopEdge;
  794.    h = rect.MaxY-rect.MinY+1;
  795.    return ((h-height)/2+t);
  796. }
  797.  
  798. void RefreshProc00(void)
  799. {
  800.    int i;
  801.    int left,top,width,height;
  802.    struct IntuiText TempIText;
  803.  
  804.    TagCount=0;
  805.    for (i=0;i<12;i++) {
  806.       BevelTags0[TagCount+1]=(ULONG)Vi;
  807.       left   = CalcXValue(Bevel0[i*4]);
  808.       top    = CalcYValue(Bevel0[i*4+1])+OffsetY;
  809.       width  = CalcXValue(Bevel0[i*4+2]);
  810.       height = CalcYValue(Bevel0[i*4+3]);
  811.       DrawBevelBoxA(W[0]->RPort,left,top,width,height,(struct TagItem*)&BevelTags0[TagCount]);
  812.       while (BevelTags0[TagCount]) TagCount+=2;
  813.       TagCount++;
  814.    }
  815.  
  816.    for (i=0;i<4;i++) {
  817.       TempIText=IText0[i];
  818.       TempIText.LeftEdge  = CalcXValue(TempIText.LeftEdge);
  819.       TempIText.TopEdge   = CalcYValue(TempIText.TopEdge)+OffsetY;
  820.       PrintIText(W[0]->RPort,&TempIText,0,0);
  821.    }
  822. }
  823.  
  824. void CloseProc00Mask(void)
  825. {
  826.    int          i;
  827.    struct Node *TempNode;
  828.  
  829.    if (W[0]) {
  830.       CloseWindow(W[0]);
  831.       W[0]=NULL;
  832.    }
  833.    if (Men) {
  834.       ClearMenuStrip(W[0]);
  835.       FreeMenus(Men);
  836.       Men=NULL;
  837.    }
  838.    if (congad[0]) {
  839.       FreeGadgets(congad[0]);
  840.       congad[0]=NULL;
  841.    }
  842.    for (i=0;i<2;i++) {
  843.       TempNode=RemHead(&Liste[i]);
  844.       while (TempNode) {
  845.          if(TempNode->ln_Name) FreeVec(TempNode->ln_Name);
  846.          FreeVec(TempNode);
  847.          TempNode=RemHead(&Liste[i]);
  848.       }
  849.    }
  850.    if (WFont[0]) {
  851.       CloseFont(WFont[0]);
  852.       WFont[0]=NULL;
  853.    }
  854. }
  855.  
  856. struct Window *InitProc00Mask(struct TagItem *UserTags){
  857.    int i;
  858.    struct NewGadget  TempGadget;
  859.    struct TagItem   *MainList, *UserList, *TempItem;
  860.  
  861.  
  862.    if (W[0]) return (NULL);
  863.    NewList(&Liste[0]);
  864.    NewList(&Liste[1]);
  865.  
  866.    if (!AddNode(&Liste[0],"Mode:      Hires Lace")) {CloseProc00Mask(); return (NULL); } 
  867.    if (!AddNode(&Liste[0],"Auflösung: 800x600")) {CloseProc00Mask(); return (NULL); } 
  868.    if (!AddNode(&Liste[0],"Hori. Frq: 81 Hz")) {CloseProc00Mask(); return (NULL); } 
  869.    if (!AddNode(&Liste[0],"Vert. Frq: 57 kHz")) {CloseProc00Mask(); return (NULL); } 
  870.    if (!AddNode(&Liste[0]," ")) {CloseProc00Mask(); return (NULL); } 
  871.    if (!AddNode(&Liste[0],"Special:   Nicht ziehbar")) {CloseProc00Mask(); return (NULL); } 
  872.    if (!AddNode(&Liste[0],"           Kein Genlock")) {CloseProc00Mask(); return (NULL); } 
  873.    if (!AddNode(&Liste[0],"           WB Like")) {CloseProc00Mask(); return (NULL); } 
  874.  
  875.    if (!AddNode(&Liste[1],"DOMINO:1280x1024")) {CloseProc00Mask(); return (NULL); } 
  876.    if (!AddNode(&Liste[1],"DOMINO:1024x768")) {CloseProc00Mask(); return (NULL); } 
  877.    if (!AddNode(&Liste[1],"DOMINO:800x600")) {CloseProc00Mask(); return (NULL); } 
  878.    if (!AddNode(&Liste[1],"DOMINO:640x480")) {CloseProc00Mask(); return (NULL); } 
  879.    if (!AddNode(&Liste[1],"PAL:Hires")) {CloseProc00Mask(); return (NULL); } 
  880.    if (!AddNode(&Liste[1],"PAL:Hires Lace")) {CloseProc00Mask(); return (NULL); } 
  881.    if (!AddNode(&Liste[1],"PAL:Superhires")) {CloseProc00Mask(); return (NULL); } 
  882.    if (!AddNode(&Liste[1],"PAL:Superhires Lace")) {CloseProc00Mask(); return (NULL); } 
  883.  
  884.    WinLeft   = 41;
  885.    WinTop    = 120;
  886.    CalcFont(633,243);
  887.    WinWidth  =  CalcXValue(633);
  888.    WinHeight =  CalcYValue(243)+OffsetY;
  889.    if (WinLeft + WinWidth > Screen->Width)
  890.       WinLeft = Screen->Width - WinWidth;
  891.    if (WinTop + WinHeight > Screen->Height)
  892.       WinTop  = Screen->Height - WinHeight;
  893.    if (!(gad=CreateContext(&congad[0]))) { CloseProc00Mask(); return (NULL); }
  894.    TagCount=0;
  895.    for (i=0;i<28;i++) {
  896.       TempGadget=NewG0[i];
  897.       TempGadget.ng_VisualInfo = Vi;
  898.       TempGadget.ng_LeftEdge   = CalcXValue(TempGadget.ng_LeftEdge);
  899.       TempGadget.ng_TopEdge    = CalcYValue(TempGadget.ng_TopEdge)+OffsetY;
  900.       TempGadget.ng_Width      = CalcXValue(TempGadget.ng_Width);
  901.       TempGadget.ng_Height     = CalcYValue(TempGadget.ng_Height);
  902.       G0[i]=gad=CreateGadgetA(Kinds0[i],gad,&TempGadget,(struct TagItem*)&Tags0[TagCount]);
  903.       if (!gad) {
  904.          CloseProc00Mask(); return (NULL);
  905.       }
  906.       if (Kinds0[i]==BUTTON_KIND) {
  907.          if (TempGadget.ng_UserData)
  908.             gad->Activation |= GACT_TOGGLESELECT;
  909.          if (TempGadget.ng_UserData>(APTR)1)
  910.             gad->Flags |= GFLG_SELECTED;
  911.       }
  912.       while (Tags0[TagCount]) TagCount+=2;
  913.       TagCount++;
  914.    }
  915.  
  916.    WTags0[1]=(ULONG)Screen;
  917.    WTags0[3]=(ULONG)congad[0];
  918.    WTags0[5]=CenterX(WinWidth);
  919.    WTags0[7]=CenterY(WinHeight);
  920.    WTags0[9]=WinWidth;
  921.    WTags0[11]=WinHeight;
  922.    if (!(MainList=CloneTagItems((struct TagItem*)&WTags0[0]))) {
  923.       CloseProc00Mask(); return (NULL);
  924.    }
  925.    if (!(UserList=CloneTagItems(UserTags))) {
  926.       FreeTagItems(MainList);
  927.       CloseProc00Mask(); return (NULL);
  928.    }
  929.    FilterTagChanges(UserList,MainList,TAGFILTER_NOT);
  930.    TempItem=MainList;
  931.    while (TempItem->ti_Tag) TempItem++;
  932.    TempItem->ti_Tag  = TAG_MORE;
  933.    TempItem->ti_Data = (ULONG)UserList;
  934.    W[0]=OpenWindowTagList(NULL,MainList);
  935.    FreeTagItems(MainList);
  936.    FreeTagItems(UserList);
  937.    if (W[0]) {
  938.       GT_RefreshWindow(W[0],NULL);
  939.       Men=CreateMenus(&newM0[0],TAG_DONE);
  940.       if (LayoutMenus(Men,Vi,gtNewLookMenu,TRUE,TAG_DONE)==FALSE) {CloseProc00Mask(); return (NULL); }
  941.       if (SetMenuStrip(W[0],Men)==FALSE) {CloseProc00Mask(); return (NULL);}
  942.       RefreshProc00();
  943.       return (W[0]);
  944.    }
  945.    else
  946.       return (NULL);
  947. }
  948.  
  949. struct Gadget *GetProc00GPtr(int Nummer)
  950. {
  951.    if ((Nummer>=0) && (Nummer<=-1))
  952.       return (G0[Nummer]);
  953.    else
  954.       return (NULL);
  955. }
  956.  
  957. void RefreshProc01(void)
  958. {
  959.    int i;
  960.    int left,top,width,height;
  961.    struct IntuiText TempIText;
  962.  
  963.    TagCount=0;
  964.    for (i=0;i<12;i++) {
  965.       BevelTags1[TagCount+1]=(ULONG)Vi;
  966.       left   = CalcXValue(Bevel1[i*4]);
  967.       top    = CalcYValue(Bevel1[i*4+1])+OffsetY;
  968.       width  = CalcXValue(Bevel1[i*4+2]);
  969.       height = CalcYValue(Bevel1[i*4+3]);
  970.       DrawBevelBoxA(W[1]->RPort,left,top,width,height,(struct TagItem*)&BevelTags1[TagCount]);
  971.       while (BevelTags1[TagCount]) TagCount+=2;
  972.       TagCount++;
  973.    }
  974.  
  975.    for (i=0;i<4;i++) {
  976.       TempIText=IText1[i];
  977.       TempIText.LeftEdge  = CalcXValue(TempIText.LeftEdge);
  978.       TempIText.TopEdge   = CalcYValue(TempIText.TopEdge)+OffsetY;
  979.       PrintIText(W[1]->RPort,&TempIText,0,0);
  980.    }
  981. }
  982.  
  983. void CloseProc01Mask(void)
  984. {
  985.    int          i;
  986.    struct Node *TempNode;
  987.  
  988.    if (W[1]) {
  989.       CloseWindow(W[1]);
  990.       W[1]=NULL;
  991.    }
  992.    if (Menu00) {
  993.       ClearMenuStrip(W[1]);
  994.       FreeMenus(Menu00);
  995.       Menu00=NULL;
  996.    }
  997.    if (congad[1]) {
  998.       FreeGadgets(congad[1]);
  999.       congad[1]=NULL;
  1000.    }
  1001.    for (i=0;i<2;i++) {
  1002.       TempNode=RemHead(&ListViewList00[i]);
  1003.       while (TempNode) {
  1004.          if(TempNode->ln_Name) FreeVec(TempNode->ln_Name);
  1005.          FreeVec(TempNode);
  1006.          TempNode=RemHead(&ListViewList00[i]);
  1007.       }
  1008.    }
  1009.    if (WFont[1]) {
  1010.       CloseFont(WFont[1]);
  1011.       WFont[1]=NULL;
  1012.    }
  1013. }
  1014.  
  1015. struct Window *InitProc01Mask(struct TagItem *UserTags){
  1016.    int i;
  1017.    struct NewGadget  TempGadget;
  1018.    struct TagItem   *MainList, *UserList, *TempItem;
  1019.  
  1020.  
  1021.    if (W[1]) return (NULL);
  1022.    NewList(&ListViewList00[0]);
  1023.    NewList(&ListViewList00[1]);
  1024.  
  1025.    if (!AddNode(&ListViewList00[0],"Mode:      Hires Lace")) {CloseProc01Mask(); return (NULL); } 
  1026.    if (!AddNode(&ListViewList00[0],"Auflösung: 800x600")) {CloseProc01Mask(); return (NULL); } 
  1027.    if (!AddNode(&ListViewList00[0],"Hori. Frq: 81 Hz")) {CloseProc01Mask(); return (NULL); } 
  1028.    if (!AddNode(&ListViewList00[0],"Vert. Frq: 57 kHz")) {CloseProc01Mask(); return (NULL); } 
  1029.    if (!AddNode(&ListViewList00[0]," ")) {CloseProc01Mask(); return (NULL); } 
  1030.    if (!AddNode(&ListViewList00[0],"Special:   Nicht ziehbar")) {CloseProc01Mask(); return (NULL); } 
  1031.    if (!AddNode(&ListViewList00[0],"           Kein Genlock")) {CloseProc01Mask(); return (NULL); } 
  1032.    if (!AddNode(&ListViewList00[0],"           WB Like")) {CloseProc01Mask(); return (NULL); } 
  1033.  
  1034.    if (!AddNode(&ListViewList00[1],"DOMINO:1280x1024")) {CloseProc01Mask(); return (NULL); } 
  1035.    if (!AddNode(&ListViewList00[1],"DOMINO:1024x768")) {CloseProc01Mask(); return (NULL); } 
  1036.    if (!AddNode(&ListViewList00[1],"DOMINO:800x600")) {CloseProc01Mask(); return (NULL); } 
  1037.    if (!AddNode(&ListViewList00[1],"DOMINO:640x480")) {CloseProc01Mask(); return (NULL); } 
  1038.    if (!AddNode(&ListViewList00[1],"PAL:Hires")) {CloseProc01Mask(); return (NULL); } 
  1039.    if (!AddNode(&ListViewList00[1],"PAL:Hires Lace")) {CloseProc01Mask(); return (NULL); } 
  1040.    if (!AddNode(&ListViewList00[1],"PAL:Superhires")) {CloseProc01Mask(); return (NULL); } 
  1041.    if (!AddNode(&ListViewList00[1],"PAL:Superhires Lace")) {CloseProc01Mask(); return (NULL); } 
  1042.  
  1043.    WinLeft   = 41;
  1044.    WinTop    = 120;
  1045.    CalcFont(633,243);
  1046.    WinWidth  =  CalcXValue(633);
  1047.    WinHeight =  CalcYValue(243)+OffsetY;
  1048.    if (WinLeft + WinWidth > Screen->Width)
  1049.       WinLeft = Screen->Width - WinWidth;
  1050.    if (WinTop + WinHeight > Screen->Height)
  1051.       WinTop  = Screen->Height - WinHeight;
  1052.    if (!(gad=CreateContext(&congad[1]))) { CloseProc01Mask(); return (NULL); }
  1053.    TagCount=0;
  1054.    for (i=0;i<28;i++) {
  1055.       TempGadget=NewG1[i];
  1056.       TempGadget.ng_VisualInfo = Vi;
  1057.       TempGadget.ng_LeftEdge   = CalcXValue(TempGadget.ng_LeftEdge);
  1058.       TempGadget.ng_TopEdge    = CalcYValue(TempGadget.ng_TopEdge)+OffsetY;
  1059.       TempGadget.ng_Width      = CalcXValue(TempGadget.ng_Width);
  1060.       TempGadget.ng_Height     = CalcYValue(TempGadget.ng_Height);
  1061.       GPtrs00[i]=gad=CreateGadgetA(Kinds1[i],gad,&TempGadget,(struct TagItem*)&Tags1[TagCount]);
  1062.       if (!gad) {
  1063.          CloseProc01Mask(); return (NULL);
  1064.       }
  1065.       if (Kinds1[i]==BUTTON_KIND) {
  1066.          if (TempGadget.ng_UserData)
  1067.             gad->Activation |= GACT_TOGGLESELECT;
  1068.          if (TempGadget.ng_UserData>(APTR)1)
  1069.             gad->Flags |= GFLG_SELECTED;
  1070.       }
  1071.       while (Tags1[TagCount]) TagCount+=2;
  1072.       TagCount++;
  1073.    }
  1074.  
  1075.    WTags1[1]=(ULONG)Screen;
  1076.    WTags1[3]=(ULONG)congad[1];
  1077.    WTags1[5]=CenterX(WinWidth);
  1078.    WTags1[7]=CenterY(WinHeight);
  1079.    WTags1[9]=WinWidth;
  1080.    WTags1[11]=WinHeight;
  1081.    if (!(MainList=CloneTagItems((struct TagItem*)&WTags1[0]))) {
  1082.       CloseProc01Mask(); return (NULL);
  1083.    }
  1084.    if (!(UserList=CloneTagItems(UserTags))) {
  1085.       FreeTagItems(MainList);
  1086.       CloseProc01Mask(); return (NULL);
  1087.    }
  1088.    FilterTagChanges(UserList,MainList,TAGFILTER_NOT);
  1089.    TempItem=MainList;
  1090.    while (TempItem->ti_Tag) TempItem++;
  1091.    TempItem->ti_Tag  = TAG_MORE;
  1092.    TempItem->ti_Data = (ULONG)UserList;
  1093.    W[1]=OpenWindowTagList(NULL,MainList);
  1094.    FreeTagItems(MainList);
  1095.    FreeTagItems(UserList);
  1096.    if (W[1]) {
  1097.       GT_RefreshWindow(W[1],NULL);
  1098.       Menu00=CreateMenus(&newM1[0],TAG_DONE);
  1099.       if (LayoutMenus(Menu00,Vi,gtNewLookMenu,TRUE,TAG_DONE)==FALSE) {CloseProc01Mask(); return (NULL); }
  1100.       if (SetMenuStrip(W[1],Menu00)==FALSE) {CloseProc01Mask(); return (NULL);}
  1101.       RefreshProc01();
  1102.       return (W[1]);
  1103.    }
  1104.    else
  1105.       return (NULL);
  1106. }
  1107.  
  1108. struct Gadget *GetProc01GPtr(int Nummer)
  1109. {
  1110.    if ((Nummer>=0) && (Nummer<=-1))
  1111.       return (GPtrs00[Nummer]);
  1112.    else
  1113.       return (NULL);
  1114. }
  1115.  
  1116. void FreeUnbekannt(void)
  1117. {
  1118.    CloseProc00Mask();
  1119.    CloseProc01Mask();
  1120.    if (Vi) {
  1121.       FreeVisualInfo(Vi);
  1122.       Vi=NULL;
  1123.    }
  1124.    if (OwnScreen) {
  1125.       if (Screen) {
  1126.          CloseScreen(Screen);
  1127.       }
  1128.    }
  1129.    Screen=NULL;
  1130.    if (SFont) {
  1131.       CloseFont(SFont);
  1132.       SFont=NULL;
  1133.    }
  1134. }
  1135.  
  1136. BOOL InitUnbekannt(struct Screen *S,struct TagItem *UserTags)
  1137. {
  1138.    struct TagItem *MainList, *UserList, *TempItem;
  1139.  
  1140.    if (Screen) return (FALSE);
  1141.    if (!S) {
  1142.       OwnScreen=TRUE;
  1143.       SFont=OpenDiskFont(&SAttr);
  1144.       if (!SFont) return (FALSE);
  1145.       if (!(MainList=CloneTagItems((struct TagItem*)&STags[0]))) {
  1146.          FreeUnbekannt(); return (FALSE);
  1147.       }
  1148.       if (!(UserList=CloneTagItems(UserTags))) {
  1149.          FreeTagItems(MainList);
  1150.          FreeUnbekannt(); return (FALSE);
  1151.       }
  1152.       FilterTagChanges(UserList,MainList,TAGFILTER_NOT);
  1153.       TempItem=MainList;
  1154.       while (TempItem->ti_Tag) TempItem++;
  1155.       TempItem->ti_Tag  = TAG_MORE;
  1156.       TempItem->ti_Data = (ULONG)UserList;
  1157.       Screen=OpenScreenTagList(NULL,MainList);
  1158.       FreeTagItems(MainList);
  1159.       FreeTagItems(UserList);
  1160.       if(!Screen) {
  1161.          FreeUnbekannt();
  1162.          return (FALSE);
  1163.       }
  1164.    }
  1165.    else {
  1166.       OwnScreen = FALSE;
  1167.       Screen=S;
  1168.    }
  1169.    CalcFont(0,0);
  1170.    Vi=GetVisualInfo(Screen,NULL);
  1171.    if (!Vi) {
  1172.       FreeUnbekannt();
  1173.       return (FALSE);
  1174.    } else
  1175.       return (TRUE);
  1176. }
  1177.